//
//  JLCLAdManagementCenter.h
//  JLCLDemo
//
//  Created by Mac on 2022/3/10.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "JLCLBaseAdData.h"
#import "JLCLSplashAdData.h"
#import "JLCLInterstitialAdData.h"
#import "JLCLDrawNativeVideoAdData.h"
#import "JLCLRewardVideoAdData.h"
#import "JLCLNativeAdData.h"
#import "JLCLBannerAdData.h"
#import "JLCLContentStyleAdData.h"

@interface JLCLAdManagementCenter : NSObject

#pragma mark 开屏广告
/// 显示开屏广告
/// @param data 开屏广告数据参数
-(void)jlcl_showSplashAd:(JLCLSplashAdData *)data;
/// 关闭开屏广告
-(void)jlcl_closeSplashAd;

#pragma mark 插屏广告
/// 显示插屏广告
/// @param data 插屏广告数据参数
-(void)jlcl_showInterActionAd:(JLCLInterstitialAdData *)data;

#pragma  mark - 全屏
-(void)jlcl_showInterFullActionAd:(JLCLInterstitialAdData *)data;

#pragma mark banner广告
/// 显示banner广告
/// @param data banner广告数据参数
-(void)jlcl_showBannerAd:(JLCLBannerAdData *)data;
//移除banner广告
-(void)jlcl_removeBannerAd;

#pragma mark 信息流广告
/// 显示信息流广告
/// @param data 信息流广告数据参数
-(void)jlcl_showNativeAd:(JLCLNativeAdData *)data;
/// 获取广告cell高度
/// @param adData 单个数据的信息
- (CGFloat)jlcl_heightForNativeAd:(id)adData;

/// 获取cell
/// @param tableView 需要显示的tableview
/// @param adData 数据
/// @param indexPath 索引
- (UITableViewCell *)jlcl_tableView:(UITableView *)tableView cellForForNativeAd:(id)adData IndexPath:(NSIndexPath *)indexPath;

/// 获取广告视图 非tableview 可以使用此方法获取广告视图
/// @param adData 数据
- (UIView *)jlcl_getNativeFeedAdViewWihtAdData:(id)adData;
#pragma mark 激励视频广告
/// 激励视频广告调用
/// @param data 参数
-(void)jlcl_showRewardVideoAd:(JLCLRewardVideoAdData *)data;
/// 显示激励视频广告
-(void)jlcl_showRewardVideoAd;


#pragma mark draw竖版视频信息流广告
/// draw竖版视频信息流广告调用
/// @param data 参数
-(void)jlcl_showDrawNativeVideoAd:(JLCLDrawNativeVideoAdData *)data;
/// draw竖版视频信息流广告 获取广告tableViewCell
/// @param tableView 显示的tableview
/// @param adData 广告数据
/// @param indexPath 索引
- (UITableViewCell *)jlcl_tableView:(UITableView *)tableView cellForForDrawVideoAd:(id)adData IndexPath:(NSIndexPath *)indexPath;

#pragma mark 内容+广告
#if __has_include(<KSAdSDK/KSCUContentPage.h>)
/// 内容+广告
/// @param data 参数
-(void)jlcl_showContentStyleAd:(JLCLContentStyleAdData *)data;
/// 释放内容列表样式
- (void)jlcl_deallocWithContentStyleAd;
#else
#endif

#pragma  mark - 视频贴片广告

/// 视频贴片广告
/// - Parameter data: data 参数
- (void)jlcl_showVideoPatch:(JLCLNativeAdData *)data;
/// 获取广告当前视图
/// - Parameter adData: 参数
- (UIView *)jlcl_getVideoPatchView:(id)adData;
@end


